#------------------读取输入数据 data-----------------------------------


#------------------剔除缺失率过大的字段------------------------------------------
data<-data[,apply(data,2,function(i) mean(is.na(i))<0.2)]

#------------------相关性分析------------------------------------------

# 看指标之间的相关性
vname<-names(data)[sapply(data,class) %in% c("numeric","integer")]

data.cor<-cor(data[,vname],data[,vname],"pairwise.complete.obs")

# 剔除与其他指标间相关性小的指标
vname<-vname[apply(data.cor,2,function(i) max(abs(i[i<1]))>0.1)]

#再看剔除指标后的相关性
data.cor<-cor(data[,vname],data[,vname],"pairwise.complete.obs")        

#------------------主成分分析------------------------------------------
if(!("mdatools" %in% installed.packages()[,1]))
{install.packages("mdatools")}

#加载分析需要的包
library(mdatools)   

#计算主成分
data.pca<-pca(na.omit(data[,vname]),scale=T)   

#查看获取的主成分（有多少个变量就有多少个主成分）
summary(data.pca)  

#计算主成分的综合得分
data.score<-data.pca$score[,data.pca$tnorm >1] %*% data.pca$tnorm[data.pca$tnorm>1]

#------------------结果输出--------------------------------------------